5be8fa100d1739ea54e4533b603c40c3a0d723eb,workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/ModelPropertiesConfigurable.java,ModelUsedLanguagesTab,confirmRemove,#Object#,318

Before Change


    protected boolean confirmRemove(Object value) {
      final ModuleReference moduleReference = (ModuleReference)value;
      if( !myModelProperties.getUsedLanguageRemoveCondition().met(moduleReference) ) {
        int result = Messages.showYesNoCancelDialog(
          ProjectHelper.toIdeaProject(myProject),
          "<html>This language is used by model.<br>Do you really what to delete it?<br><font color=\"red\"><b>Model state will become inconsistent</b></font></html>",
          "Delete used language", "&View usages", "&Delete anyway", "Ca&ncel", Messages.getQuestionIcon());
        switch (result) {
          case Messages.YES:
            findUsages(value);

After Change


    protected boolean confirmRemove(final Object value) {
      final ModuleReference moduleReference = (ModuleReference)value;
      if( !myModelProperties.getUsedLanguageRemoveCondition().met(moduleReference) ) {
        ViewUsagesDeleteDialog viewUsagesDeleteDialog = new ViewUsagesDeleteDialog(
          ProjectHelper.toIdeaProject(myProject), "Delete used language",
          "This language is used by model. Do you really what to delete it?", "Model state will become inconsistent") {
          @Override
          public void doViewAction() {
            findUsages(value);
          }
        };
        viewUsagesDeleteDialog.show();
        return viewUsagesDeleteDialog.isOK();
      }

      return super.confirmRemove(value);